package net.qhzw.vip.qiyu.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.qhzw.vip.qiyu.entity.SysRole;
import net.qhzw.vip.qiyu.entity.SysRoleMenu;
import net.qhzw.vip.qiyu.mapper.SysRoleMenuMapper;
import net.qhzw.vip.qiyu.model.RoleMenuVo;
import net.qhzw.vip.qiyu.service.SysRoleMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {

    @Autowired
    private SysRoleMenuMapper sysRoleMenuMapper;


    @Override
    public int deleteByRoleIdAndMenuId(Long roleId, List<Long> menus) {
//        if (!CollectionUtils.isEmpty(menus)) {
//            List<Long> ids = new ArrayList<>();
//            for (Long menuId : menus) {
//                List<SysRoleMenu> list = list(new LambdaQueryWrapper<SysRoleMenu>()
//                        .eq(SysRoleMenu::getRoleId, roleId)
//                        .eq(SysRoleMenu::getMenuId, menuId)
//                );
//                if (!CollectionUtils.isEmpty(list)) {
//                    for (SysRoleMenu roleMenu : list) {
//                        ids.add(roleMenu.getId());
//                    }
//                }
//            }
//            boolean remove = removeByIds(ids);
//            return 1;
//        }
        for (Long menu : menus) {
            int i = sysRoleMenuMapper.deleteByRoleIdAndMenuId(roleId, menu);
        }
        return 0;
    }

    @Override
    public List<RoleMenuVo> findByPage(Page<SysRole> page, Long shopId, String name) {
        List<RoleMenuVo> roleMenuVos = sysRoleMenuMapper.findByPage(shopId, name);
        return roleMenuVos;
    }

}
